package com.CST.service.zx;

import com.CST.bo.zx.ProjectAllBO;
import com.CST.bo.zx.ProjectDetailBO;
import com.CST.common.api.ResultObject;
import com.CST.entity.zx.ZxSumMoney;
import com.CST.vo.zx.ProjectAllVO;
import com.CST.vo.zx.ProjectDetailVO;
import com.CST.vo.zx.ZxFinicialDetailVO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ly
 * @since 2023-03-14
 */
public interface IZxSumMoneyService extends IService<ZxSumMoney> {

    /**
     * 插入基础数据
     * @param data
     * @return
     */
    ResultObject insertBaseData(Integer data);

    /**
     * 查询项目明细
     * @param projectDetailBO
     * @return
     */
    List<ProjectDetailVO> queryAllProjectDetail(ProjectDetailBO projectDetailBO);

    /**
     * 分页查询项目具体信息
     *
     * @param projectAllBO
     * @param request
     * @return
     */
    List<ProjectAllVO> queryAllProject(ProjectAllBO projectAllBO, HttpServletRequest request);

    /**
     * 查询财务明细信息
     * @param projectDetailBO
     * @return
     */
    ZxFinicialDetailVO queryFinicialDetail(ProjectDetailBO projectDetailBO);

    /**
     * 下载文件
     *
     * @param projectAllBO
     * @param response
     * @param request
     */
    void downloadFile(ProjectAllBO projectAllBO, HttpServletResponse response,HttpServletRequest request);

    /**
     *下载内部文件
     * @param projectDetailBO
     * @param response
     */
    void downloadDetailFile(ProjectDetailBO projectDetailBO, HttpServletResponse response) throws IOException;
}
